Appearance
1. Setup und Hostsystem
Ubuntu auf dem Hostsystem installieren
Video zum Versuch
Hier finden Sie ein begleitendes Video zum Versuch:
Übersicht zu Komponenten und Versionen
Name | Version | Link |
---|---|---|
Ubuntu | 22.04 LTS | link |
Raspberry Pi OS | Raspberry Pi OS Lite | link |
Linux Kernel | rpi-6.6.y | link |
ARM gcc Toolchain | 13.2.Rel1 | link |
Virtualbox | 7.0.18 | link |
Buildroot | 2024.02.2 | link |
Voraussetzung Hostseitiges Setup für Labs / Versuche
- Freier Disk Space von ca. 60 GB
- USB Hub (je nach Anzahl USB Ports) für
- USB-Ethernet Adapter (inkludiert im Lab-Kit)
- USB-Serial UART Adapter (inkludiert im Lab-Kit)
- USB SD-Card Reader (inkludiert im Lab-Kit)
- ggf. externe Festplatte/SSD für Virtual Box Image
- ggf. externe Mause / Tastatur
- Laptop / Notebook mit
- Windows 10
- ... oder Linux (Ubuntu, Mint, Arch, Redhat, ...)
- Mindestens 2 Cores und 4 Threads
- 4 GB RAM
Varianten
Sofern Sie nicht schon "Ubuntu" oder ein anderes Linux-System (Mint, Debian, Fedora, Arch Linux, ...) auf Ihrem Notebook installiert haben, installieren Sie nun bevorzugt Ubuntu als "virtualisiertes Gastsystem" unter Virtualbox.
Diskspace
Sie benötigen ca. 60 GB freien Diskspace, wenn Sie das Linux-Gastsystem neu installieren resp. ca. 50 GB freien Platz auf einem bereits installierten Linux (Gast-)System.
Sofern Sie Linux nicht virtualisiert sondern als effektiv bootbares Zweitbetriebssystem auf einer HD oder SSD installieren möchten, sollten Sie dies unter grösster Vorsicht machen:
Führen Sie unbedingt vorgängig ein Backup aller (Windows-)Userdaten durch!!
Sie sollten für den "Worst Case" entweder ein Full-Backup dürchgeführt oder alle Windows Setup- [ ] und Applikations-CDs bereithalten – eine Recovery/Install-Partition auf der HD reicht natürlich nicht.
Um Linux direkt ab der internen HD zu booten, wird der Linux-Installer einen eigenen Bootmanager (Grub2) installieren. Bei einem Boot via UEFI ist dies relativ unkritisch (sofern die Installation klappt). Sofern Sie hingegen das System via BIOS (und nicht via UEFI) booten, wird der Bootloader des Erst-Betriebsystems (Windows) im Master-Boot-Record überschrieben. Falls Sie dann irgendwann Linux wieder entfernen, bootet auch Windows nicht mehr, da der Hauptteil des Grub2-Bootmanager in der gerade gelöschten Linux-Partition war! Ein Windows-kompatibler Bootloader könnte in diesem Fall nur per Booten einer Linux-Live-CD/USB-Sticks oder Windows-Setup-CD restauriert werden...
Unter Linux ist natürlich auch ein Zugriff auf die Windows-Partition möglich: passen Sie beim herumexperimentieren mit Linux also auf, dass Sie nicht ungewollt auf der Windows-Partition was löschen!
Variante | |
---|---|
Alter Laptop | Falls Sie einen älteren Laptop besitzen, der nicht mehr verwendet wird, könnte sich das Gerät gut für Ubuntu eignen. In manchen Fällen funktioniert sogar Hardware, die 15 Jahre alt oder älter ist noch zuverlässig und performant. |
Externe SSD via USB | Falls Sie über eine externe SSD (idealerweise USB 3 mit NVME) besitzen, könnte das eine gute Möglichkeit sein, Ubuntu extern zu installieren und via USB zu booten. Beachten Sie allerdings, dass dann bereits ein USB Port am Notebook besetzt ist und für Versuche wahrscheinlich ein USB-Hub notwendig sein wird. |
Nativ als Dual Boot | Eine weitere Möglichkeit ist die parallele Installation von Linux neben Windows / Mac OSX, beachten Sie allerdings die Hinweise oben. Insbesondere sollten Sie dringend ein Backup vorher tätigen. |
Virtualisiert mit Virtualbox | Unter Windows und MAC OS kann Ubuntu bequem virtualisiert installiert werden. Sie können das Diskimage auch auf eine externe Festplatte exportieren und später an einer anderen Workstation wieder importieren. Beachten Sie, dass es zum Teil Einschränkungen in Performance geben kann. Auch sind gerade neuere Releases von Linux unter Virtualbox nicht immer sofort ohne Probleme unterstütz. Halten Sie sich an dieser Stelle am besten an die Empfehlungen der Ubuntu Version vom Versuch. |
Ubuntu als Linux Hostsystem
Laden Sie das Desktop Image von Ubuntu 22.04 LTS
direkt von hier herunter: https://releases.ubuntu.com/22.04/ubuntu-22.04.4-desktop-amd64.iso. Dieses werden Sie entweder für Virtualbox oder für eine native Installation benötigen.
Ubuntu virtualisiert als Gastsystem unter Windows oder OS-X installieren
- Installieren Sie unter Windows zuerst die freie Virtualisierungssoftware
Virtualbox
(https://www.virtualbox.org/), Version7.0.18
. Download für Windows: https://download.virtualbox.org/virtualbox/7.0.18/VirtualBox-7.0.18-162988-Win.exeUSB-Treiber
Achtung: Lassen Sie Windows den nicht zertifizierten virtuellen USB-Treiber von Virtualbox installieren! Dies muss ev. mehrmals bestätigt werden!
- Zwecks USB 2.0 Highspeed Unterstützung installieren Sie nach Start der
Virtualbox Management Console
unter:Datei > Globale Einstellungen > Zusatzpackete
dasVirtualbox Extension Pack
, welches Sie vorgängig heruntergeladen haben von https://download.virtualbox.org/virtualbox/7.0.18/Oracle_VM_VirtualBox_Extension_Pack-7.0.18.vbox-extpack. - Nun erstellen Sie in der Virtualbox Management-Console mit > Neu ein neues Gastsystem z.B. namens
Ubuntu
, BetriebssystemtypUbuntu
, einer RAM-Hauptspeichergrösse von mind.2GB
danach mit Neu... eine neue "Boot-Festplatte" von ca. 60 GB. Wenn Sie diese "statisch" anlegen (und nicht als "dynamisch wachsend") ist die Performance später ev. etwas besser. - In den Image Settings ändern Sie nun unter
System
die Anzahl CPUs und geben dem Gastsystem idealerweise mindestens 2 CPU Cores. - Beim ersten Start der Virtuellen Maschine werden Sie nach einem "ISO-Abbild" gefragt. Geben Sie hierbei das aktuelle Ubuntu LTS 64-Bit (Multiarch) ISO-Image an, welches Sie vorgängig ganz vom Server auf Ihren PC herunterladen.
Anmerkung: Nur die "LTS" Version (Long-Time-Support) garantiert längerfristig Sicherheitsupates! - Nach dem Start des Gastsystems, sollte nun die virtuelle Ubuntu-Installations-CD "booten"...
- Sobald die graphische Oberfläche angezeigt wird, doppelclicken Sie das Install-Icon, und selektieren danach Land: Europe/Zurich Sprache: English und Tastatur: Schweiz. English, damit wir potentielle Fehlermeldunger einfacher im Netz recherchieren können.
- Unter "Festplatte partitionieren" wird es nur bei Dualboot kritisch, d.h. wenn Linux parallel zu Windows ohne Virtualisierung auf der gleichen Festplatte installiert werden soll. Bei virtualisiertem Linux wählen Sie hingegen einfach "gesamte Festplatte verwenden". (Tipp: Diskgrösse validieren!)
- Führen Sie die gesamte Installation durch und rebooten Sie danach das System.
Probleme mit der Installation
Erhalten Sie Fehlermeldungen bei der Installation von Ubuntu, stellen Sie bitte sicher, dass HyperV
ausgeschaltet ist.
Die überprüfen Sie in Windows unter Turn Features on or off
. Deaktivieren Sie falls notwendig auch Core Isolation
in Windows.
Weiterfolgende Infos: https://docs.microsoft.com/en-us/answers/questions/474470/disabling-hyper-v-on-windows-11.html
... und https://forums.virtualbox.org/viewtopic.php?f=25&t=99390
Falls HyperV
aktiviert war, ist es nötig Virtualbox neu zu installieren.
Update / Upgrade der Programmpakete
Ubuntu basiert auf Debian und hat deshalb von diesem den Software- Update/Upgrade-Mechanismus geerbt: mit diesem kann Ubuntu einerseits übers Netz aktualisiert werden (für Security- und Bug-Fixes), andererseits können aber auch Programme bequem nachinstalliert werden. Zigtausend OpenSource Programmpakete liegen auf dem Ubuntu-Pool – insbesondere der riesige Bereich "universe" wird unverändert vom Debian-Pool übernommen, d.h. bloss für den Ubuntu-Release neu compiliert!
Bei bestehender Netzwerkfunktionalität werden Sie automatisch zum Update aufgefordert, sobald aktualisierte Programmpakete verfügbar werden. Sie können den Update aber auch per
System > Systemverwaltung > Aktualisierungsverwaltung forcieren oder mittels folgenden Commands:
Terminal Commands
Sie können jederzeit ein Terminal in Ubuntu mit dem Shortcut CTRL + ALT + T
öffnen
bash
sudo apt update
sudo apt upgrade
Wenn apt update
einen fehler liefert
Es ist möglich, dass apt update
fehler liefert, das kann an folgendem liegen:
- Keine Internetverbindung
- Systemzeit ist falsch eingestellt (führt zu Problemen mit Zertifikaten)
- Falscher Eintrag in
/etc/apt/sources.list
Statt mittels Programm apt kann sofern installiert ohne weiteres auch das Programm apt-get
oder aptitude
mit den gleichen Argumenten (update, upgrade, dist-upgrade install, remove, purge...) verwende werden (alle drei Programme sind in etwa gleichwertig und verwenden die gleiche Datenbasis).
Die Vorgänge update und upgrade oder auch das Aktivieren zusätzlicher Pool-Bereiche (universe*, multiverse,...)* kann jedoch auch bequem unter der grafischen Oberfläche erfolgen..
Virtualbox Gasterweiterungen installieren
Sofern mit dem Upgrade ein neues Kernel-Image installiert wurde, muss das Gastssystem rebooten werden!
Durch Installation der "Virtualbox Gasterweiterungen" wird eine bessere Integrationzwischen Host- und Gastsystem erreicht. Dadurch lässt sich einerseits das "Gastsystem-Displays" beliebig in der Grösse verändern, andererseits ist damit ein Zugriff auf "Gemeinsame Order" möglich, also vom Gastsystem aus auf Ordner des Hostsystems zuzugreifen (also Windows- oder OS-X-Ordner).
Damit sich diese "Virtualbox Gasterweiterungen" einrichten resp. übersetzen lassen, sind einige Programm-Pakete erforderlich:
Verifizieren Sie ob die Meta-Packagesbuild-essential
sowielinux-headers-generic
installiert sind, z.B. über die Commandozeile per:bashdpkg -l build-essential linux-headers-*
Ein
ii
in der Ausgabe deutet auf "installiert" hin. Wenn etwas fehlt, installieren Sie entspr. nach:bashsudo apt install build-essential linux-headers-generic
Über das Meta-Package build-essential
werden die wichtigsten Buildtools wie make
etc. installiert. Diese sowie die linux-headers
(also die Kernel Headerdateien) benötigen wir um die nachfolgenden Virtualbox-Gasterweiterungen zu übersetzen...
Nun installieren Sie folgendermassen die Virtualbox-Gasterweiterungen :
Clicken Sie im Virtualbox-Gastsystem Menubalken auf
Geräte > Gasterweiterungen
installierenund öffnen danach im Gastsystem den Dateimanager
nautilus
(per Click links auf den Aktenschrank)darin clicken Sie in der linken Liste auf die virtuelle CD namens "VBOXADDITIONS"
Woraus Sie die automatische Ausführung von
autorun.sh
zulassen...Terminal
Leider klappt dies oft nicht und auch nicht per Doppelclick, in welchem Fall dies über eine
Shell-Console
resp. einTerminal
erfolgen muss:Öffnen Sie ein Terminal mit
CTRL + ALT + T
und führen Sie folgende commands ausbashsh /media/*/audtorun.sh
Sie werden aufgefordert als root das Passwort zu bestätigen.
Wenn danach der Vorgang länger dauert, war die Installation der Gasterweituerungen wohl erfolgreich. (Andernfalls z.B. bei falscher Passwort-Eingabe oder wenn obige Programmpackete nicht installiert sind erfolgt bloss eine Fehlermeldung worauf das Window gleich geschlossen wird)
Nach erfolgreicher Installation der Gasterweiterungen rebooten Sie das Gastsystem ... wonach sich die Grösse des Gastsystem-Fensters beliebig ändern lassen sollte!
Virtualbox Shared Folders (Gemeinsame Ordner)
Ein Zugriff aus dem Linux-Gastsystem auf beliebige Ordner des Hostsystems (Windows, OS-X, ...) setzt die Installation der "Virtualbox Gasterweiterungen" voraus (wie gerade oben beschrieben).
Danach im Virtualbox-Gastsystem-Menubalken auf Geräte > Gemeinsame Ordner clicken,
den gewünschten Hostsystemordner auswählen und folgende Optionen aktivieren:
[x] permanent erzeugen sowie [x] automatisch einbindenGastsystem rebooten...
Achtung
Gewisse Ubuntu-Versionen fahren danach nicht mehr hoch, da das Mounten des Virtualbox Shared Folder s vor dem Laden des betr. Treibers stattfindet. Gegebenenfalls erzwingen sie das Laden des vboxsf Treiber manuell (falls das System überhaupt nicht mehr bootet im Rescue-Mode, wobei dann per
bash
mount -o remount,rw /
die Rootpartition noch beschreibbar gemacht werden muss). Das explizite, rechtzeitige Laden des vboxsf-Treibers beim booten erfolgt dann per
bash
echo vboxsf | sudo tee /etc/modprobe.d/vboxsf.conf
- Der eingebundene "Shared Folder" (sf) sollte(ggf. nach erneutem Booten)unter
/media/sf_
sichtbar sein. Ist nun der Ordner (im Linux Dateimanager) zwar vorhanden, aber mit normalem User-Recht nicht zugreifbar, fehlt Ihrer User-Id die Zugriffsberechtigung (Ersichtlich mit ' ls -l /media/ '). Fügen Sie deshalb wie folgt Ihrer User-Id die Sicherheitsgruppevboxsf
hinzu:bashNach erneutem Einloggen sollte es dann endlich klappensudo usermod -a -G vboxsf $USER
Achtung
Sollte irgendwann mal nach einer Aktualisierung der Distribution (also nach "upgrade") die Fenstergrösse des Gastsystem unveränderbar sein, oder der "Shared Folder" nicht mehr sichtbar sein, so wurde offensichtlich bei der Systemaktualisierung auch der Linux-Kernel aktualisiert (also das das Package linux-image-...
). In diesem Fall müssen Sie die "Virtualbox-Gasterweiterungen" wieder wie oben neu installieren! (denn dies generiert ein Linux-Kernel-Treiber, welcher für jede neue Kernel-Revision neu übersetzt werden muss).
USB-Ethernet und USB-Serial Dongle
- Stecken Sie nun noch die USB-Ethernet sowie den USB-Serial Dongles an und lassen Sie (nur) die Installation des Virtualbox Virtual USB Treibers zu (alle anderen Treiber-Installation brechen Sie also ab)!
- Im Virtualbox Gastsystem-Menu
Geräte > USB
, sollten nun diese Geräte aktivierbar sein. - Nach jedem Neueinstecken der Dongles resp. rebooten des Gastsystems müssen diese explizit wieder über das Menu
Geräte -> USB
reaktiviert werden. - Alternativ kann man diesen auch dauerhaft mit einem "USB Filter" für das Gastsystem reservieren...
Problem mit USB-Ethernet (Dongle)
Falls der Ethernet Dongle in Windows Probleme macht und das durchtunneln in die Virtuelle Maschine nicht funktionier, probieren Sie in den Settings der Virtuellen Maschine von USB 2.0 auf USB 3.0 zu wechseln.